package com.bestcem.xm.ticket.grpc.client.dto.survey;

import com.bestcem.xm.ticket.grpc.client.enums.ColumnCtypeEnum;
import com.bestcem.xm.ticket.grpc.client.enums.ColumnQtypeEnum;
import com.bestcem.xm.ticket.grpc.client.enums.ColumnStatusEnum;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 答卷数据显示列 DTO
 *
 * @author zq.ding <zq.ding@idiaoyan.com>
 * @version v1.0
 * @date 2021/8/27 14:41
 */
@Data
public class ColumnDTO {

    private String id;
    /**
     * 问卷id
     */
    private String projectId;

    /**
     * 表示列在哪些问卷版本中
     */

    private List<String> qStructIds;

    /**
     * 题目gid
     */
    private Integer gid;

    /**
     * 题型
     */
    private String dispType;

    /**
     * 矩阵行gid，矩阵行开放
     */
    private Integer rGid;

    /**
     * 选项gid，问题字段填空框时存在值
     */
    private Integer oGid;

    /**
     * 元数据、联系人列名
     */
    private String col;

    /**
     * 题目字段类型，用来列排序
     *
     * @see ColumnQtypeEnum
     */
    private Integer qType;

    /**
     * 列状态
     *
     * @see ColumnStatusEnum
     */
    private Integer status;

    /**
     * 用来列排序
     *
     * @see ColumnCtypeEnum
     */
    private Integer cType;

    /**
     * 存储一些前端需要的属性
     */
    private String customAttr;

    /**
     * 用来列排序，每种ctype、qtype从0开始累加，排序通过ctype、sort_no
     */
    private Integer sortNo;


    @NoArgsConstructor
    @Data
    public static class CustomAttr {
        private String otitle;
        private String rtitle;
        private String title;
        private String cid;
        private String option;
    }
}
